import os
import sys

def print_tree(path, prefix=''):
	"""
	打印给定路径的文件和文件夹树，带缩进。
	:param path: 要遍历的路径。
	:param prefix: 当前缩进前缀。
	"""
	if not os.path.isdir(path):
		print(prefix + os.path.basename(path))
		return

	files = os.listdir(path)
	for i, file in enumerate(files):
		if( i != len(files) - 1 ):
			print(prefix + '├── ' + file)
		else:
			# 最后一个元素，不需要"├──"，而是"└──"
			print(prefix + '└── ' + file)

		# 递归打印子目录
		new_path = os.path.join(path, file)
		if os.path.isdir(new_path):
			if i == len(files) - 1:
				new_prefix = prefix + '    '
			else:
				new_prefix = prefix + '│   '
			print_tree(new_path, new_prefix)


folder_path = './'

if len(sys.argv) > 2 :
	print("[Error] 参数错误", file=sys.stderr)
	print("Usage: tree [file path]")
elif len(sys.argv) == 2:
	if not os.path.exists(sys.argv[1]):
		print(f"[Error] 路径\"{path}\"不存在！", file=sys.stderr)
		exit(-1)

	folder_path = sys.argv[1]



# 调用函数打印目录树
print_tree(folder_path)